var _ = require("lodash");
// _.pullAllWith(array, values, [comparator]);
// 跟by的区别是，这个方法他是使用迭代函数对两个数据进行直接比较然后返回比较值
// 这个迭代器接收连个参数（arrVal, othVal）他是直接使用原始的数据进行比较，然后返回自定义的值
// 而by方法是直接使用迭代器对原始数据进行操作，返回新的数组进行比较，实用性不如with强大
// 这里的选取条件是，如果返回值是真，那就从第一个数组中删除这个数据
let brr = [
  { name: "tom", age: "18" },
  { name: "tom2", age: "28" },
  { name: "tom3", age: "38" },
];

let brr2 = [
  { name: "tom4", age: "48" },
  { name: "tom2", age: "28" },
  { name: "tom5", age: "38" },
];
let a = _.pullAllWith(brr, brr2, _.isEqual);
console.log(a);

function test(a, b) {
  return a.age == b.age;
}

let b = _.pullAllWith(brr, brr2, test);
console.log(b);
